﻿using Fadada.FASC.SDK.DotNetCore.Attributes;
using Newtonsoft.Json;

namespace Fadada.FASC.SDK.DotNetCore.Model
{
    [RemoteService("/billing/get-bill-url", "POST")]
    public class BillingGetBillUrl
    {
        /// <summary>
        /// 需要获取计费链接的应用系统上的个人或企业主体信息。
        /// 若为个人用户，个人用户必须已实名。
        /// 若为企业用户，企业用户必须已实名，且企业经办人openUserId不能为空，必须为企业成员。
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "openId",
            Required = Newtonsoft.Json.Required.Always)]
        public OpenId OpenId { get; set; }

        /// <summary>
        /// 计费页面类型：
        /// account: 账户信息
        /// order: 套餐订购
        /// 默认为account。
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "urlType",
            Required = Newtonsoft.Json.Required.AllowNull)]
        public string UrlType { get; set; }

        /// <summary>
        /// 返回地址。即用户在返回的页面上进行操作时能随时返回到该地址。该地址是应用系统的地址，以实现用户交互在应用系统和法大大平台之间的连贯性。长度最大500个字符。
        /// 注意：用户在返回的页面上完成操作后不会自动跳转该地址。
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "redirectUrl",
            Required = Newtonsoft.Json.Required.AllowNull)]
        public string RedirectUrl { get; set; }
    }
}